f40d674341fec6a77c4587acb4db9fedf7ae2db8,src/main/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java,StaticTypeCheckingVisitor,popAssignmentTracking,#Map#,1389
Before Change
private void popAssignmentTracking(final Map<VariableExpression, List<ClassNode>> oldTracker) {
if (!ifElseForWhileAssignmentTracker.isEmpty()) {
for (Map.Entry<VariableExpression, List<ClassNode>> entry : ifElseForWhileAssignmentTracker.entrySet()) {
storeType(entry.getKey(), lowestUpperBound(entry.getValue()));
}
}
ifElseForWhileAssignmentTracker = oldTracker;
After Change
}
private Map<VariableExpression, ClassNode> popAssignmentTracking(final Map<VariableExpression, List<ClassNode>> oldTracker) {
Map<VariableExpression, ClassNode> assignments = new HashMap<VariableExpression, ClassNode>();
if (!ifElseForWhileAssignmentTracker.isEmpty()) {
for (Map.Entry<VariableExpression, List<ClassNode>> entry : ifElseForWhileAssignmentTracker.entrySet()) {
VariableExpression key = entry.getKey();
ClassNode cn = lowestUpperBound(entry.getValue());
storeType(key, cn);
assignments.put(key, cn);
}
}
ifElseForWhileAssignmentTracker = oldTracker;
return assignments;
}
private Map<VariableExpression, List<ClassNode>> pushAssignmentTracking() {